package modele;

/**
 * Interface contenant les configurations du jeu.
 */
public interface Commune {
	
	/*Constantes liées à la fenêtre*/
	public static final int LARGEUR = 400; 			//Longueur de la fenetre de jeu
	public static final int HAUTEUR = 600; 			//Hauteur de la fenetre de jeu
	
	/*Constantes liées au jeu*/
	public static final int DELAI_INITIAL=28;		//Délai initial du timer
	public static final int TAILLE_PAS_INITIAL=20;		//Taille initiale d'un pas du doodler 
	public static final double COEFFICIENT_ACCELERATION_VERT=0.90;			//Acceleration du doodler pour un obstacle vert
	public static final double COEFFICIENT_ACCELERATION_ROUGE = 0.96;	//Acceleration du doodler pour un obstacle rouge
	public static final double COEFFICIENT_ACCELERATION_BLEU = 0.80;		//Acceleration du doodler pour un obstacle bleu
	
	/*Constantes liées au doodler*/
	public static final int DIAMETRE_DOODLER=30; 			//Rayon du doodler
	public static final int BAS = HAUTEUR-DIAMETRE_DOODLER;			//Valeur de la position verticale du doodler pour laquelle il dépasse le bord du bas
	public static final int DROITE=LARGEUR-(DIAMETRE_DOODLER/2); 			//Valeur de la position horizontale du doodler pour laquelle il dépasse le bord de droite
	public static final int GAUCHE=0-(DIAMETRE_DOODLER/2);
	
	/*Constantes liées à l'obstacle*/
	public static final int LARGEUR_OBSTACLE=60;						//Largeur d'un obstacle
	public static final int HAUTEUR_OBSTACLE=17;						//Hauteur d'un obstacle
	public static final int LIMITE_NB_OBSTACLES=25;							//Nombre limite d'obstacle générés
	public static final double COEFFICIENT_NB_OBSTACLES_VERT = 0.8;//Probabilité de générer un obstacle vert
	public static final int DISTANCE_MIN_OBSTACLES=2*HAUTEUR_OBSTACLE;	//Distance minimale entre les obstacles
	public static final int DISTANCE_MAX_OBSTACLES_VERT=130;				//Distance maximale entre les obstacles sur Y (Comparaison d'un obstacle quelconque avec un obstacle vert)
	public static final int DISTANCE_MAX_OBSTACLES_ROUGE=220;			//Distance maximale entre les obstacles sur Y (Comparaison d'un obstacle quelconque avec un obstacle rouge)
	public static final int DISTANCE_MAX_OBSTACLES_BLEU=70;				//Distance maximale entre les obstacles sur Y (Comparaison d'un obstacle quelconque avec un obstacle bleu)
	public static final int BORNE_MAX_GEN_LARGEUR_OBSTACLES=Commune.LARGEUR-Commune.LARGEUR_OBSTACLE;//Borne min de la bande de génération d'obstacle
	public static final double PROBA_OBSTACLE_MOBILE=0.2;		 //Probabilité de générer un obstacle qui se déplace
	public static final int PAS_OBSTACLE_MOBILE=4;		//Vitesse de déplacement d'un obstacle si celui-ci est mobile
}